home *** CD-ROM | disk | FTP | other *** search
- new nroot airplane/attack
- sel airplane/attack
-
-
- # ------------------------------------------------------------
- # Folgen, sofern das Ziel vor mit ist. Ist eigentlich Default-
- # verhalten und somit die "Standard-0.5"
- # ------------------------------------------------------------
- new ncommandlist follow
- follow.setadjusttype reach
- follow.settestcommand aafollow_test
- follow.addcommand true 0 0 -10 false 0 0 0 nothing 5.0
-
- proc aafollow_test {} {
-
- global zufallszahl
-
- return 0.5
- }
-
- # -----------------------------------------------------------------
- # Wenn das Ziel hinter mir ist, gibt es zwei Moeglichketen:
- # 1. Es ist weit weg, so dass ich es anfliegen muss und 2. Es
- # ist nah dran und kann mich treffen, so dass ich mir was einfallen
- # lassen muss. Weil aber 1. schon der Defaultfall ist, mache ich
- # nur einen Test auf den 2. Fall
- # -----------------------------------------------------------------
-
- # ein Looping ist die erste Moeglichkeit, benoetig einen leichten Anlauf
- new ncommandlist looping
- looping.setadjusttype horimaneuver
- looping.settestcommand aalooping_test
- looping.addcommand true 0 0 -125 true 0 0 0 nothing 1.5
- looping.addcommand true 0 0 -150 true 0 0 0 nothing 3.5
- looping.addcommand false 0 0 0 true 0 0 0 nothing 5.5
- looping.addcommand false 0 0 0 true 0 0 0 nothing 7.0
- looping.addcommand false 0 0 0 true 22 0 0 nothing 8.0
- looping.addcommand false 0 0 0 true 45 0 0 nothing 9.0
- looping.addcommand false 0 0 0 true 67 0 0 nothing 10.0
- looping.addcommand false 0 0 0 true 90 0 0 nothing 11.0
- looping.addcommand false 0 0 0 true 112 0 0 nothing 12.0
- looping.addcommand false 0 0 0 true 135 0 0 nothing 13.0
- looping.addcommand false 0 0 0 true 157 0 0 nothing 14.0
- looping.addcommand false 0 0 0 true 180 0 0 nothing 15.0
- looping.addcommand false 0 0 0 true 202 0 0 nothing 16.0
- looping.addcommand false 0 0 0 true 225 0 0 nothing 17.0
- looping.addcommand false 0 0 0 true 247 0 0 nothing 18.0
- looping.addcommand false 0 0 0 true 270 0 0 nothing 19.0
- looping.addcommand false 0 0 0 true 292 0 0 nothing 20.0
- looping.addcommand false 0 0 0 true 315 0 0 nothing 21.0
- looping.addcommand false 0 0 0 true 337 0 0 nothing 22.0
- looping.addcommand false 0 0 0 true 360 0 0 nothing 23.0
- looping.addcommand false 0 0 0 true 0 0 0 nothing 24.0
-
- proc aalooping_test {} {
-
- global zufallszahl
- global targetangle
- global targetdist
-
- set zufallszahl [expr rand()]
- set targetangle [.gettargetangle]
- set targetdist [.gettargetdist]
-
- if { (90 < $targetangle) && (200 < $targetdist) } {
-
- if { (0.0 <= $zufallszahl) && (0.3 > $zufallszahl) } {
- return 1.0
- } else {
- return 0.0
- }
- } else {
- return 0.0
- }
- }
-
- # Die naechsten Moeglichkeiten sind das Ausweichen nach den 4 Richtungen
- new ncommandlist goleft
- goleft.setadjusttype horimaneuver
- goleft.settestcommand aagoleft_test
- goleft.addcommand true -100 0 -30 false 0 0 0 nothing 2.0
-
- proc aagoleft_test {} {
-
- global zufallszahl
- global targetangle
- global targetdist
-
- if { (90 < $targetangle) && (200 < $targetdist) } {
-
- if { (0.3 <= $zufallszahl) && (0.4 > $zufallszahl) } {
- return 1.0
- } else {
- return 0.0
- }
- } else {
- return 0.0
- }
- }
-
-
- new ncommandlist goright
- goright.setadjusttype horimaneuver
- goright.settestcommand aagoright_test
- goright.addcommand true 100 0 -30 false 0 0 0 nothing 2.0
-
- proc aagoright_test {} {
-
- global zufallszahl
- global targetangle
- global targetdist
-
- if { (90 < $targetangle) && (200 < $targetdist) } {
-
- if { (0.4 <= $zufallszahl) && (0.5 > $zufallszahl) } {
- return 1.0
- } else {
- return 0.0
- }
- } else {
- return 0.0
- }
- }
-
-
- new ncommandlist goup
- goup.setadjusttype horimaneuver
- goup.settestcommand aagoup_test
- goup.addcommand true 0 100 -30 false 0 0 0 nothing 2.0
-
- proc aagoup_test {} {
-
- global zufallszahl
- global targetangle
- global targetdist
-
- if { (90 < $targetangle) && (200 < $targetdist) } {
-
- if { (0.5 <= $zufallszahl) && (0.6 > $zufallszahl) } {
- return 1.0
- } else {
- return 0.0
- }
- } else {
- return 0.0
- }
- }
-
-
- new ncommandlist godown
- godown.setadjusttype horimaneuver
- godown.settestcommand aagodown_test
- godown.addcommand true 0 -100 -30 false 0 0 0 nothing 2.0
-
- proc aagodown_test {} {
-
- global zufallszahl
- global targetangle
- global targetdist
-
- if { (90 < $targetangle) && (200 < $targetdist) } {
-
- if { (0.6 <= $zufallszahl) && (0.7 > $zufallszahl) } {
- return 1.0
- } else {
- return 0.0
- }
- } else {
- return 0.0
- }
- }
-
- # Eine weitere Moeglichkeit ist ein verwirren: ich fliege etwas nach oben
- # und dann sofort nach unten
- new ncommandlist goupanddown
- goupanddown.setadjusttype horimaneuver
- goupanddown.settestcommand aagoupanddown_test
- goupanddown.addcommand true 0 100 -30 false 0 0 0 nothing 1.5
- goupanddown.addcommand true 0 -200 -30 false 0 0 0 nothing 3.0
-
- proc aagoupanddown_test {} {
-
- global zufallszahl
- global targetangle
- global targetdist
-
- if { (90 < $targetangle) && (200 < $targetdist) } {
-
- if { (0.7 <= $zufallszahl) && (0.8 > $zufallszahl) } {
- return 1.0
- } else {
- return 0.0
- }
- } else {
- return 0.0
- }
- }
-
- # eine andere Spielerei, die man mal probieren koennte, ist das
- # schnelle Abtauchen, also auf den Ruecken drehen und dann nach
- # unten drehen. Nur Ausrichtungskommandos
-
-
- # Eine Rolle
- new ncommandlist rolle
- rolle.setadjusttype horimaneuver
- rolle.settestcommand aarolle_test
- rolle.addcommand false 0 0 -10 true 0 0 0 nothing 0.5
- rolle.addcommand false 0 0 -20 true 0 0 0 nothing 1.0
- rolle.addcommand false 0 0 -30 true 0 0 0 nothing 1.5
- rolle.addcommand false 0 0 -40 true 0 0 -45 nothing 2.0
- rolle.addcommand false 0 0 -50 true 0 0 -90 nothing 2.5
- rolle.addcommand false 0 0 -60 true 0 0 -135 nothing 3.0
- rolle.addcommand false 0 0 -70 true 0 0 -180 nothing 3.5
- rolle.addcommand false 0 0 -80 true 0 0 -225 nothing 4.0
- rolle.addcommand false 0 0 -90 true 0 0 -270 nothing 4.5
- rolle.addcommand false 0 0 -100 true 0 0 -315 nothing 5.0
- rolle.addcommand false 0 0 -110 true 0 0 0 nothing 5.5
- rolle.addcommand false 0 0 -120 true 0 0 -45 nothing 6.0
- rolle.addcommand false 0 0 -130 true 0 0 -90 nothing 6.5
- rolle.addcommand false 0 0 -140 true 0 0 -135 nothing 7.0
- rolle.addcommand false 0 0 -150 true 0 0 -180 nothing 7.5
- rolle.addcommand false 0 0 -160 true 0 0 -225 nothing 8.0
- rolle.addcommand false 0 0 -170 true 0 0 -270 nothing 8.5
- rolle.addcommand false 0 0 -180 true 0 0 -315 nothing 9.0
- rolle.addcommand false 0 0 -190 true 0 0 0 nothing 9.5
- rolle.addcommand false 0 0 -200 true 0 0 0 nothing 10.0
-
- proc aarolle_test {} {
-
- global zufallszahl
-
- # Derzeit nicht nutzen
- return 0.0
- }
-
- sel ..
- sel ..
-
-